package com.wanqing.community.dao;

import java.util.List;
import java.util.Map;

import com.wanqing.community.bean.RoleBean;
import com.wanqing.community.util.ConditionParse;

/**
 * 角色管理DAO
 * All right reserved.
 * @version 
 */
public interface RoleDao {

	/**
	 * 增加角色
	 * <p>Description:<p>
	 * <p>modifiContent:<p>
	 * @param role
	 * @return
	 */
	int addRole(RoleBean role);
	
	/**
	 * 修改角色
	 * <p>Description:<p>
	 * <p>modifiContent:<p>
	 * @param role
	 * @return
	 */
	int updateRole(RoleBean role);
	
	/**
	 * 得到角色数
	 * <p>Description:<p>
	 * <p>modifiContent:<p>
	 * @param condParse
	 * @return
	 */
	int getRoleCount(ConditionParse condParse);
	
	/**
	 * 分页查询角色
	 * <p>Description:<p>
	 * <p>modifiContent:<p>
	 * @param condParse
	 * @param currPage
	 * @param pageSize
	 * @return
	 */
	List<RoleBean> queryRole(ConditionParse condParse,int currPage,int pageSize);
	
	/**
	 * 删除角色
	 * <p>Description:<p>
	 * <p>modifiContent:<p>
	 * @param condParse
	 * @return
	 */
	int deleteRole(List<String> list);
	
	/**
	 * <p>Description：批量添加角色权限<p>
	 * <p>modifiContent:<p>
	 * @param list
	 * @return
	 */
	int addRoleAuthorBatch(List<Map<String, Object>> list);
	
	/**
	 * 
	 * <p>Description:查询角色对应的权限<p>
	 * <p>modifiContent:<p>
	 * @param roleId
	 * @return
	 */
	List<RoleBean> queryOperaAuthorRole(String roleId);
	
	/**
	 * 
	 * <p>Description:删除角色对应的功能权限<p>
	 * <p>modifiContent:<p>
	 * @param roleId
	 * @return
	 */
	int deleteFuncAuthor(String roleId);
	/**
	 * 
	 * <p>Description:查询所有的角色信息<p>
	 * <p>modifiContent:<p>
	 * @return
	 */
	List<RoleBean> listRole();
}
